<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: your name
// +----------------------------------------------------------------------
namespace app\cms\model;

use plugin\saiadmin\basic\BaseModel;

/**
 * 基础信息模型
 */
class Users extends BaseModel
{

    /**
     * 数据表主键
     * @var string
     */
    protected $pk = 'id';

    /**
     * 数据库表名称
     * @var string
     */
    protected $table = 'eb_users';


    /**
     * 用户名 搜索
     */
    public function searchUsernameAttr($query, $value)
    {
        $query->where('username', 'like', '%' . $value . '%');
    }

    /**
     * 姓名 搜索
     */
    public function searchRealnameAttr($query, $value)
    {
        $query->where('realname', 'like', '%' . $value . '%');
    }

    /**
     * 公司名称 搜索
     */
    public function searchCompanyNameAttr($query, $value)
    {
        $query->where('company_name', 'like', '%' . $value . '%');
    }

    /**
     * 设置密码加密
     *
     * @Author hechengwei
     * @email chichiooo@sina.com
     * @DateTime 2024-12-19
     * @param [type] $value
     * @return void
     */
    public function setPasswordAttr($value)
    {
        return password_hash($value, PASSWORD_BCRYPT);
    }

    /**
     * 设置用户状态  默认启用
     *
     * @Author hechengwei
     * @email chichiooo@sina.com
     * @DateTime 2024-12-19
     * @param [type] $value
     * @return void
     */
    public function setStatusAttr($value)
    {
        return 1;
    }


    /**
     * 关联模型authentic
     */
    public function authentic()
    {
        return $this->hasOne(UsersAuthen::class, 'user_id', 'id');
    }

    public function projects()
    {
        return $this->belongsToMany(Project::class, ProjectUsers::class, 'project_id', 'user_id');
    }
}
